package com.cmc.cloud.cmclink.doc.vo.blnofreightvo;

import lombok.*;

import java.math.BigDecimal;
import java.util.*;

import io.swagger.v3.oas.annotations.media.Schema;
import com.cmes.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

import static com.cmes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

/**
 * 海运费附加费分页 Request VO
 *
 * @author codegen
 */
@Schema(description = "管理后台 - 海运费附加费分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
public class BlnoFreightPageReqVO extends PageParam {

    @Schema(description = "提单号", example = "19993")
    private Long blnoId;

    @Schema(description = "费用代码")
    private String chargeCode;

    @Schema(description = "计费维度 C=按体积吨计费，N=按箱计费，Y=按票计费")
    private String per;

    @Schema(description = "箱型", example = "2")
    private String cntrType;

    @Schema(description = "箱尺寸")
    private String cntrSize;

    @Schema(description = "货类", example = "1")
    private String cargoType;

    @Schema(description = "件数")
    private BigDecimal quantity;

    @Schema(description = "费率")
    private BigDecimal rate;

    @Schema(description = "金额")
    private BigDecimal amount;

    @Schema(description = "币种")
    private String currency;

    @Schema(description = "付费方式")
    private String payment;

    @Schema(description = "付费人")
    private String payer;

    @Schema(description = "转财务", example = "5427")
    private Boolean toAccount;

    @Schema(description = "记录类型", example = "2")
    private String recordType;

    @Schema(description = "第三付费地")
    private String thirdPaymentPlace;

    @Schema(description = "原始费用id", example = "14136")
    private Long originalId;

    @Schema(description = "协议号")
    private String agreementNo;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

}
